package flex.cc.drive.dao;

import java.util.Map;

import flex.cc.drive.dto.OrderDriveVo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import flex.cc.drive.dto.OrderDriverEntity;


/**
*
 * @author R
 * 2022年01月14日上午10:36:52
* @desc 代驾单数据层
*/
@Mapper
@Repository
public interface OrderDriverDao extends BaseMapper<OrderDriverEntity>{

	void inster(OrderDriverEntity orderDriverEntity);
	/**
	 * 
	 * @author WANGCONG
	 * 2022年1月17日下午14:15:02
	 * @desc 代驾预约信息修改
	 */
	int updateByParams(Map<String, Object> orderParam);
	/**
	 * 
	 * @author E
	 * 2022年1月20日 14:57:16
	 * @desc 代驾预约信息修改
	 */
	int updateByEntity(OrderDriverEntity orderDriverEntity);
	/**
	 * 
	 * @author WANGCONG
	 * 2022年1月17日下午14:55:16
	 * @desc 根据预约编号查询代驾单信息
	 */
	OrderDriverEntity findByOrderNo(String string);

	/**
	 * 
	 * @author R
	 * 2022年1月20日 14:35:16
	 * @desc 根据卡券编码查询代驾单信息
	 */
	OrderDriverEntity findByOrderId(String orderId);

	/**
	 * @description 根据查询参数，参训代驾服务单信息
	 * @param params 查询参数
	 * @return
	 * @author wkangle
	 * @time 2022/01/19 0019 10:20
	 * @exception/throws
	 */
	OrderDriveVo getOneByParams(Map<String, Object> params);

	/**
	 * @description 校验代驾卡券使用规则：同一服务包中、同一类型的卡券 每月只可使用一张
	 * @param params 卡券相关参数，用于校验
	 * @return
	 * @author wkangle
	 * @time 2022/01/19 0019 11:11
	 * @exception/throws
	 */
	int checkCouponRule(Map<String, Object> params);

}
